home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / SoundComponents.idl < prev    next >
Text File  |  1996-05-01  |  5KB  |  156 lines

  1. /*
  2.      File:        SoundComponents.idl
  3.  
  4.      Contains:    Sound Components Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __SOUNDCOMPONENTS_IDL__
  19. #define __SOUNDCOMPONENTS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __COMPONENTS_IDL__
  28. #include <Components.idl>
  29. #endif
  30. #ifndef __SOUND_IDL__
  31. #include <Sound.idl>
  32. #endif
  33.  
  34. #ifdef __SOMIDL__
  35.  
  36. /*
  37.                         * * *  N O T E  * * *
  38.  
  39.     This file has been updated to include Sound Manager 3.1 interfaces.
  40.  
  41.     Some of the Sound Manager 3.0 interfaces were not put into the InterfaceLib
  42.     that originally shipped with the PowerMacs. These missing functions and the
  43.     new 3.1 interfaces have been released in the SoundLib library for PowerPC
  44.     developers to link with. The runtime library for these functions are
  45.     installed by Sound Manager 3.1. The following functions are found in SoundLib.
  46.  
  47.         AudioGetBass, AudioGetInfo, AudioGetMute, AudioGetOutputDevice,
  48.         AudioGetTreble, AudioGetVolume, AudioMuteOnEvent, AudioSetBass,
  49.         AudioSetMute, AudioSetToDefaults, AudioSetTreble, AudioSetVolume,
  50.         OpenMixerSoundComponent, CloseMixerSoundComponent, SoundComponentAddSource,
  51.         SoundComponentGetInfo, SoundComponentGetSource, SoundComponentGetSourceData,
  52.         SoundComponentInitOutputDevice, SoundComponentPauseSource,
  53.         SoundComponentPlaySourceBuffer, SoundComponentRemoveSource,
  54.         SoundComponentSetInfo, SoundComponentSetOutput, SoundComponentSetSource,
  55.         SoundComponentStartSource, SoundComponentStopSource
  56. */
  57. /*
  58. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59.  constants
  60. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61. sound component types and subtypes
  62. */
  63. /*sound component set/get info selectors*/
  64. /*features flags*/
  65. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  66. /*SoundComponentPlaySourceBuffer action flags*/
  67. /*flags for OpenMixerSoundComponent*/
  68. /*SoundParamBlock quality flags*/
  69. /*useful bit masks*/
  70. /*Audio Component constants*/
  71. /*
  72. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73.  typedefs
  74. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  75. */
  76. /*
  77. ShortFixed consists of an 8 bit, 2's complement integer part in the high byte,
  78. with an 8 bit fractional part in the low byte; its range is -128 to 127.99609375
  79. */
  80. typedef short                    ShortFixed;
  81.  
  82.  
  83.  
  84. typedef OpaquePtr                SoundParamBlockPtr;            /* Substituted OpaquePtr for ``SoundParamBlock*'' */
  85.  
  86. typedef OpaquePtr SoundParamProcPtr;
  87. typedef OpaquePtr SoundParamUPP;
  88. typedef SOMLargeStruct            SoundParamBlock;            /* Derived from a struct of 62 bytes in size */
  89.  
  90. /*private thing to reference a Sound Source*/
  91. typedef OpaquePtr                SoundSource;
  92.  
  93. typedef OpaquePtr                SoundSourcePtr;                /* Substituted OpaquePtr for ``SoundSource*'' */
  94.  
  95. typedef SOMLargeStruct            SoundComponentLink;            /* Derived from a struct of 28 bytes in size */
  96.  
  97. typedef OpaquePtr                SoundComponentLinkPtr;        /* Substituted OpaquePtr for ``SoundComponentLink*'' */
  98.  
  99. typedef SOMLargeStruct            AudioInfo;                    /* Derived from a struct of 10 bytes in size */
  100.  
  101. typedef OpaquePtr                AudioInfoPtr;                /* Substituted OpaquePtr for ``AudioInfo*'' */
  102.  
  103. /*
  104. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  105.  functions for sound components
  106. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  107. Sound Component dispatch selectors
  108. */
  109. /*
  110. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  111.  Sound Manager 3.0 utilities
  112. */
  113. /*
  114. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  115.  basic sound component functions
  116. */
  117. /*
  118. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  119.  junction methods for the mixer, must be called at non-interrupt level
  120. */
  121. /*
  122. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123.  info methods
  124. */
  125. /*
  126. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  127.  control methods
  128. */
  129. /*
  130. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  131.  interface for Audio Components
  132. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  133. */
  134. /*
  135. Volume is described as a value between 0 and 1, with 0 indicating minimum
  136.   volume and 1 indicating maximum volume; if the device doesn't support
  137.   software control of volume, then a value of unimpErr is returned, indicating
  138.   that these functions are not supported by the device
  139. */
  140. /*
  141. If the device doesn't support software control of mute, then a value of unimpErr is
  142. returned, indicating that these functions are not supported by the device.
  143. */
  144. /*
  145. AudioSetToDefaults causes the associated device to reset its volume and mute values
  146. (and perhaps other characteristics, e.g. attenuation) to "factory default" settings
  147. */
  148. /*This routine is required; it must be implemented by all audio components*/
  149. /*This is routine is private to the AudioVision component.  It enables the watching of the mute key.*/
  150. #endif
  151.  
  152. #endif /* __SOMIDL__ */
  153.  
  154. #endif /* __SOUNDCOMPONENTS_IDL__ */
  155.  
  156.